<template>
    <!-- 总容器 -->
    <div class="wrapper">
        <header>
            <i class="fa fa-angle-left" onclick="history.go(-1)"></i>
            <p>选择体检套餐</p>
            <div></div>
        </header>
        <div class="top-ban"></div>

        <ul class="setmeal">
            <li v-for="(item, index) in state.setmeals" :key="index">
                <div class="item">
                    <div class="item-left">
                        <h3 @click="toSelect(index)">{{ item.type === 1 ? '男士套餐' : '女士套餐' }}</h3>
                        <p>{{ item.name }}</p>
                    </div>
                    <div class="item-right">
                        <p>详情</p>
                        <i class="fa fa-angle-down" @click="toGet(index)"></i>
                    </div>
                </div>
                <div class="item-content" v-if="isDetial[item.smId]">
                    <table>
                        <tr>
                            <th>检查项目</th>
                            <th>检查内容</th>
                            <th>检查意义</th>
                        </tr>
                        <tr v-for="detail in item.sdList" :key="detail.sdId">
                            <td>{{ detail.checkItem.ciName }}</td>
                            <td>{{ detail.checkItem.ciContent }}</td>
                            <td>{{ detail.checkItem.meaning }}</td>
                        </tr>

                    </table>
                </div>
            </li>

        </ul>

        <div class="bottom-ban"></div>


        <Footer></Footer>
    </div>

</template>

<script>
import axios from "axios";
import { useRoute, useRouter } from "vue-router";
import { ref, reactive, onMounted } from "vue";
import qs from 'qs';
import Footer from "../components/Footer.vue";
import { getSessionStorage } from "../common.js"

export default {
    //setup 是 Vue 3 Composition API 的入口函数，所有组件逻辑都在这里实现
    setup() {
        //存储套餐详情
        // const setmealDetail = ref(null);
        //是否显示
        // const isDetial = ref(false);
        const isDetial = reactive({});

        const router = useRouter();
        const route = useRoute();
        const state = reactive({
            setmeals: [],
            //  setmeal: {}
        });

        //点击时展开
        const toGet = (index) => {
            const smId = state.setmeals[index].smId
            isDetial[smId] = !isDetial[smId];
        };
        const toSelect = (index) => {

            const hpId = route.query.hpId;
            const smId = state.setmeals[index].smId;
            console.log(hpId);
            if (!hpId) {
                console.log('hpId未传递');
                return;
            }
            router.push({
                path: '/selectDate',
                // query: { name: setmeal.name }
                query: {
                    hpId: hpId,
                    smId: smId
                }
            });
        };


        const fetchSetmeals = () => {

            axios.post('SetmealController/listSetmealByType', qs.stringify({ type: getSessionStorage('users').sex }))
                .then((response) => {
                    // 3. 处理响应结果
                    console.log('后端返回数据：', response.data);
                    state.setmeals = response.data;
                    // let setmeals = response.data; // 后端返回的setmeal列表

                })
                .catch((error) => {
                    // 捕获请求异常（如网络错误）
                    console.error(error);
                });
        }


        onMounted(() => {
            fetchSetmeals();
        });
        return {
            isDetial,
            toGet,
            toSelect,

            //toHospital,
            state
        }






    },

}

</script>

<style scoped>
/*********************** 总容器 ***********************/
.wrapper {
    width: 100%;
    height: 100%;
    background-color: #F9F9F9;
}

/*********************** header ***********************/
header {
    width: 100%;
    height: 15.7vw;
    background-color: #FFF;

    position: fixed;
    left: 0;
    top: 0;

    display: flex;
    align-items: center;
    justify-content: space-between;

    box-sizing: border-box;
    padding: 0 3.6vw;
}

header .fa {
    font-size: 8vw;
}

/*********************** footer ***********************/
footer {
    width: 100%;
    height: 14.2vw;
    box-sizing: border-box;
    border-top: solid 1px #E9E9E9;
    background-color: #FFF;

    position: fixed;
    left: 0;
    bottom: 0;
}

footer ul {
    width: 100%;
    height: 14.2vw;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

footer ul li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    font-size: 3vw;
    color: #999;

    user-select: none;
    cursor: pointer;
}

footer ul li .fa {
    font-size: 5vw;
}

/*********************** common样式 ***********************/
.top-ban {
    width: 100%;
    height: 15.7vw;
}

.bottom-ban {
    width: 100%;
    height: 14.2vw;
}

/*********************** setmeal ***********************/
.setmeal {
    width: 100%;
    margin-top: 10vw;
}

.setmeal li {
    width: 92.8vw;
    margin: 0 auto;
    border: solid 1px #EEE;
    border-radius: 1vw;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, .08);
    background-color: #FFF;
    margin-bottom: 3.6vw;
}

.setmeal li .item {
    width: 100%;
    height: 20vw;
    color: #555;

    display: flex;
    align-items: center;
}

.setmeal li .item .item-left {
    flex: 0 0 72vw;
    height: 20vw;
    border-right: solid 1px #EEE;
    box-sizing: border-box;
    padding-left: 12vw;

    display: flex;
    flex-direction: column;
    justify-content: center;

    user-select: none;
    cursor: pointer;
}

.setmeal li .item .item-left h3 {
    font-size: 4.3vw;
    font-weight: 600;
}

.setmeal li .item .item-left p {
    font-size: 4vw;
    margin-top: 1vw;
}

.setmeal li .item .item-right {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;

    user-select: none;
    cursor: pointer;
}

.setmeal li .item .item-right p {
    font-size: 4vw;
    margin-right: 2vw;
}

.setmeal li .item-content {
    /*display: none;*/
    width: 100%;
    background-color: #FFF;
}

.setmeal li .item-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 4vw;
    color: #555;
}

.setmeal li .item-content table tr {
    display: flex;
}

.setmeal li .item-content table tr td,
.setmeal li .item-content table tr th {
    flex: 1;
}

.setmeal li .item-content table tr th {
    text-align: center;
    background-color: #EEE;
    height: 10vw;
    line-height: 10vw;
}

.setmeal li .item-content table tr td {
    border: solid 1px #EFEFEF;
    box-sizing: border-box;
    padding: 2vw;
}
</style>